﻿
namespace LFSRecord2.Model.Undo
{
    public abstract class KeyFrameDataBase
    {
        public int UniqueID { get; set; }
        public CustomKeyFrameTypes KeyFrameType;

        /// <summary>
        /// Index of the normal parent property this keyframe belongs to
        /// </summary>
        public int ParentPropertyIndex { get; set; }

        /// <summary>
        /// Index of the normal parent layer this keyframe belongs to
        /// </summary>
        public int ParentLayerIndex { get; set; }

        public bool IsSelected { get; set; }
        public int FrameNum { get; set; }
        public int KeyFrameIndex { get; set; }

        public double EaseInValue { get; set; }
        public double EaseOutValue { get; set; }

        public KeyFrameInterpolationTypes InterpolationTypeIn { get; set; }
        public KeyFrameInterpolationTypes InterpolationTypeOut { get; set; }

        public CustomKeyFrameOptions Options { get; set; }
        public double DistanceToNextKeyFrame { get; set; }
        public double BezierTime { get; set; }

        //public abstract KeyFrameDataBase Clone();
    }
}
